Java.lang.Object
La classe Object '''(Objet en français) est la base de la hiérarchie des classe en Java. Toutes les classes l'étendent. Tous les objets, incluant les tableaux, implémentent ces méthodes. Constructeurs Méthodes Détails des méthodes x.clone() != x sera vrai et que l'expression: x.clone().getClass() x.getClass() le sera aussi, mais pas obligatoirement. Typiquement, l'expression x.clone().equals(x) est vrai, mais ce n'est pas toujours le cas. Par convention, l'objet retourné devrait être obtenu en appelant super.clone. Si une classe et toutes ses classes héritées (sauf '''Object) suivent cette convention, x.clone().getClass() x.getClass() sera vrai. Par convention, l'objet retourné par cette méthode devrait être indépendant de cet objet (celui qui à été cloné). Pour parvenir à cette indépendance, il peut être nécessaire de modifier un ou plusieurs champs de l'objet retourné par super.clone avant de le retourner. Typiquement, ça signifie de copier n'importe quels objets mutable qui compromet la «structure profonde» aux objets clonés et remplacer les références à ces objets avec des références aux copies. Si une classe contient seulement des champs primitifs ou des références à des objets immutable, c'est généralement qu'aucun champs dans l'objet retourné par super.clone n'a à être modifié. La méthode clone effectue un opération de clonage spécifique. Premièrement, si la classe de cet objet n'implémente pas l'interface Cloneable, une CloneNotSupportedException sera lancée. Notez que tous les tableau sont considérés comme implémentant cette interface et cloner un tableau de type T[] retourne un objet de type T[] où T est une n'importe quelle référence ou type primitif. Sinon, cette méthode crée une nouvelle instance de la classe de cet objet et initialise tous ces champs avec ceux correspondant dans l'objet. Le contenu des variables n'est pas cloné lui-même. Par conséquent, cette méthode effectue une «copie superficielle» de cet objet et non une "copie profonde". La classe Objet n'implémente pas elle-même l'interface Cloneable, donc appeler la méthode de clone sur un objet qui est un instance de la classe Object lancera une exception lors de l'exécution. |vretour=Un clone de l'objet cloné. |throws=CloneNotSupportedException |raison=Si la classe de l'objet ne supporte pas l'interface Cloneable. Les sous-classe qui redéfinissent la méthode clone peuvent aussi lancer cette exception pour indiquer qu'une instance ne peut pas être clonée. }} Number n = 0; Class c = n.getClass(); |vretour=La classe de l'objet qui représente la classe d'exécution de l'objet. }} getClass().getName() + '@' + Integer.toHexString(hashCode()) |vretour=Une chaîne de caractères qui représente l'objet. }} {{méthode |nom=notify |description=public final void notify() Réveille une seule tâche (thread) qui attend le moniteur de l'objet. Si aucune des tâches attendent le moniteur, une d'elles est choisie pour être réveillée. Le choix est arbitraire et se passe à la discrétion de l'implémentation. La tâche attend le moniteur d'un objet en appelant une des méthodes wait. La tâche réveillée ne pourra pas procéder avant que la tâche actuelle relâche son verrou sur cet objet. Elle rivalisera de manière usuelle avec n'importe quelle autre tâche qui peut rivaliser activement pour se synchroniser sur cet objet. Par exemple, la tâche réveillée bénéficiera d'aucun privilège fiable ou d'aucun désavantage pour être la prochaine tâche à verrouiller cet objet. Cette méthode devrait seulement être appelée sur une tâche qui est propriétaire du moniteur de cet objet. Une tâche devient propriétaire du moniteur d'un objet d'une de ces trois façons: *En exécutant une méthode d'instance synchronisée de cet objet. *En exécutant le corps d'une déclaration synchronisée qui se synchronise sur l'objet. * This method should only be called by a thread that is the owner of this object's monitor. A thread becomes the owner of the object's monitor in one of three ways: By executing a synchronized instance method of that object. By executing the body of a synchronized statement that synchronizes on the object. For objects of type Class, by executing a synchronized static method of that class. Only one thread at a time can own an object's monitor. Throws: IllegalMonitorStateException - if the current thread is not the owner of this object's monitor. Catégorie:Classe